Lighting Should Only hold Vec<Entity> instead of TypeId<Vec<Entity>>#14073
Merged
alice-i-cecile merged 10 commits intobevyengine:mainfrom Jul 14, 2024
Merged
Lighting Should Only hold Vec<Entity> instead of TypeId<Vec<Entity>>#14073alice-i-cecile merged 10 commits intobevyengine:mainfrom
alice-i-cecile merged 10 commits intobevyengine:mainfrom
Conversation
alice-i-cecile
approved these changes
Jun 30, 2024
mnmaita
reviewed
Jul 5, 2024
|
|
||
| #[derive(Component, Clone, Debug, Default, Reflect, Deref, DerefMut)] | ||
| #[reflect(Component)] | ||
| pub struct VisibleMeshEntities { |
Member
There was a problem hiding this comment.
A few doc comments would be great to be able to differentiate this from VisibleEntities
pcwalton
approved these changes
Jul 14, 2024
Contributor
pcwalton
left a comment
There was a problem hiding this comment.
Seems fine. Lights could in theory affect other types of objects, but that would require a lot of refactoring, so we can specialize them to Meshes for now.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
many_lightsdropped from 120+ to 60+. I reviewed the PR but couldn't identify any mistakes. After profiling, I discovered thatHashmap::Clonewas very slow when its not empty, causingextract_lightto increase from 3ms to 8ms.Solution
Performance
cargo run --release --example many_lights --features bevy/trace_tracy

name="bevy_pbr::light::check_point_light_mesh_visibility"}
system{name="bevy_pbr::render::light::extract_lights"}

Migration Guide